#ifndef KEYRING_HPP
#define KEYRING_HPP

#include <cstdlib>
#include <set>
#include <string>
#include <vector>
#include <unordered_map>

using namespace std;

class KeyRing {

public:

  KeyRing();
  ~KeyRing();

  void insert(string header);

  size_t size();

  string operator[](size_t key){return( headers_[key] ); }
  size_t operator[](string header){return( headers2keys_[ header ] ); }

#ifndef TEST__
private:
#endif

  //set<string> headerSet_;
  vector<string> headers_;

  unordered_map<string,size_t> headers2keys_;

};

#endif
